/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
using System;
using System.Collections.Generic;

using Aliyun.Acs.Core.Transform;
using Aliyun.Acs.Sddp.Model.V20190103;

namespace Aliyun.Acs.Sddp.Transform.V20190103
{
    public class DescribeUserCountResponseUnmarshaller
    {
        public static DescribeUserCountResponse Unmarshall(UnmarshallerContext _ctx)
        {
			DescribeUserCountResponse describeUserCountResponse = new DescribeUserCountResponse();

			describeUserCountResponse.HttpResponse = _ctx.HttpResponse;
			describeUserCountResponse.RequestId = _ctx.StringValue("DescribeUserCount.RequestId");

			DescribeUserCountResponse.DescribeUserCount_UserCount userCount = new DescribeUserCountResponse.DescribeUserCount_UserCount();
			userCount.Authed = _ctx.BooleanValue("DescribeUserCount.UserCount.Authed");
			userCount.Buyed = _ctx.BooleanValue("DescribeUserCount.UserCount.Buyed");
			userCount.AuthCount = _ctx.IntegerValue("DescribeUserCount.UserCount.AuthCount");
			userCount.UnAuthCount = _ctx.IntegerValue("DescribeUserCount.UserCount.UnAuthCount");
			userCount.TotalAuthCount = _ctx.IntegerValue("DescribeUserCount.UserCount.TotalAuthCount");
			userCount.WarnTotalCount = _ctx.LongValue("DescribeUserCount.UserCount.WarnTotalCount");
			userCount.SaleInstanceStatus = _ctx.IntegerValue("DescribeUserCount.UserCount.SaleInstanceStatus");
			userCount.WarnAddCount = _ctx.LongValue("DescribeUserCount.UserCount.WarnAddCount");
			userCount.SaleInstanceId = _ctx.StringValue("DescribeUserCount.UserCount.SaleInstanceId");
			describeUserCountResponse.UserCount = userCount;
        
			return describeUserCountResponse;
        }
    }
}
